package com.budwk.app.sqfwV2.dto.entity;

import com.budwk.starter.common.openapi.annotation.ApiModel;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@Accessors(chain = true)
@Table("shequ.sqfw_family_property")
@Comment("家庭财产表")
@ApiModel(description = "家庭财产表")
public class SqfwFamilyProperty implements Serializable {

    private static final long serialVersionUID = 1L;

    @Column
    @Name
    @Comment("编号")
    @ApiModelProperty(description = "ID")
    @ColDefine(type = ColType.VARCHAR, width = 32)
    @PrevInsert(els = {@EL("snowflake()")}, nullEffective = true)
    private String id;

    @Column("household_id")
    @Comment("户id")
    @ApiModelProperty(description = "户id")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String householdId;



    @Column("people_number")
    @Comment("季度人口数")
    @ApiModelProperty(description = "季度人口数")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String peopleNumber;

    @Column("quarter")
    @Comment("季度")
    @ApiModelProperty(description = "季度")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String quarter;

    @Column("year")
    @Comment("年")
    @ApiModelProperty(description = "年")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String year;

    @Column("param_data")
    @Comment("param_data")
    @ApiModelProperty(description = "详细数据")
    @ColDefine(type = ColType.TEXT)
    private String paramData;

    @Column("create_by")
    @Comment("提交人")
    @ApiModelProperty(description = "提交人")
    @ColDefine(type = ColType.VARCHAR, width = 50)
    private String createBy;

    @Column("create_time")
    @Comment("提交时间")
    @ApiModelProperty(description = "提交时间")
    @ColDefine(type = ColType.DATETIME, width = 50)
    private LocalDateTime createTime;

    @Column("update_id")
    @Comment("修改人")
    @ApiModelProperty(description = "修改人")
    @ColDefine(type = ColType.VARCHAR, width = 50)
    private String updateId;

    @Column("update_time")
    @Comment("修改时间")
    @ApiModelProperty(description = "修改时间")
    @ColDefine(type = ColType.VARCHAR, width = 50)
    private LocalDateTime updateTime;

    @Column("delete_reason")
    @Comment("删除原因")
    @ApiModelProperty(description = "删除原因")
    @ColDefine(type = ColType.BOOLEAN, width = 300)
    private String deleteReason;

    @Column("deleted")
    @Comment("是否删除")
    @ApiModelProperty(description = "是否删除")
    @ColDefine(type = ColType.BOOLEAN, width = 50)
    private Boolean deleted = false;

}
